#ifndef FUSE_FUNCTIONS_H_
#define FUSE_FUNCTIONS_H_

#include "FAT32_functions.h"
#include "cache.h"
#include <errno.h>
#include <math.h>

typedef struct a{
	uint32_t numCluster;
	uint32_t tamanioArchivo;
	uint32_t longfn;
	uint16_t tipo;
	int offset;
	int sectorEntrada;
	listaClusters*lista;
	cache cacheArchivo;
	int cantClusters;
}datosArchivo;

int buscarArchivo(char*,datosArchivo*);
int leerDatos(datosArchivo*,char*,int,int);
int escribirArchivo(char *,datosArchivo*,const char*,int,int);
int posicionarseEnArchivo(datosArchivo*,int,listaClusters*);
int calcularTamanioNuevo(int,listaClusters*,int);
int grabarEntradaArchivo(char*,int);
int crearArchivoDirectorio(char*,datosArchivo*,mode_t,int);
int escribirEntradaDirectorio(int,int,char*,datosArchivo*,int,int);
int borrarEntradaDir(char*);
#endif /* FUSE_FUNCTIONS_H_ */
